package com.chushouya.manager.service.admin;

import com.chushouya.manager.dto.admin.userrole.UserRoleDTO;

import java.util.List;

/**
 * 用户角色
 */
public interface UserRoleService {
    /**
     * 保存用户与角色关系
     * @param adminUserId 用户
     * @param roleIdList 角色
     */
    void insertUserRole(Long adminUserId, List<Long> roleIdList);

    /**
     * 删除用户分配的角色
     * @param userId 用户ID
     */
    void deleteUserRole(Long userId);

    /**
     * 查询用户分配的角色IdList
     * @param adminUserId 用户ID
     * @return 角色IdList
     */
    List<Long> selectUserRoleIdList(Long adminUserId);

    /**
     * 查询当前角色已经分配的userIdList
     * @param roleId 角色ID
     * @return 已经分配的用户IdList
     */
    List<Long> selectUserIdList(Long roleId);

    /**
     * 获取所有的用户角色
     * @return 用户角色列表
     */
    List<UserRoleDTO> selectAllUserRoleList();
}
